package com.taylor.community.dao;

import com.taylor.community.entity.Message;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
@Mapper
public interface MessageMapper {
    //查询当前用户的会话列表 每个会话只反回最新的一条私信
    List<Message> selectConversations(int userId,int offset,int limit);
    //查询当前用户的会话数量
    int selectConversationCount(int userId);
    //查询每个会话包含的私信列表
    List<Message> selectLetters(String conversationId,int offset,int limit);
    int selectLetterCount(String conversationId);
    //查询未读私信的数量
    //conversationId根据是否传值决定是否拼上去 即实现两个业务方法
    int selectLetterUnreadCount(int userId, String conversationId);
    //发送消息
    int insertMessage(Message message);
    //修改消息的状态
    int updateStatus(List<Integer> ids,int status);
    //查询某个主题下最新的通知
    Message selectLatestNotice(int userId,String topic);
    //查询某个主题包含的通知数量
    int selectNoticeCount(int userId,String topic);
    //查询某个主题未读的通知数量
    int selectUnreadCount(int userId,String topic);
    //查询某个主题包含的通知列表
    List<Message> selectNotices(int userId,String topic,int offset,int limit);
}



